import numpy as np


#初始化
list1 = np.array([1, 2, 3, 4, 5])
print(list1.dtype)

#浮点数
list2 = np.array([1.2,2.3])
print(list2.dtype)

#虚数
list3 = np.array([[1,2],[3,4]], dtype=complex)
print(list3)



#初始化0,1，empty
print(np.zeros((3,4)))
print(np.ones((3,4)))
print(np.empty((3,4)))

#按照步长来初始化
print(np.arange(10, 30, 5))
print(np.arange(0, 2, 0.3))

#等差数列
print(np.linspace(0, 2, 9))

print('--------------')

#数组索引切片，0-9的三次方
list4 = np.arange(10)**3
print(list4)
print(list4[2])
print(list4[2:5])

list4[:6:2]=-1000
print(list4[::2])

#通过函数初始化数组
def f(x,y):
    return 10*x+y
list5 = np.fromfunction(f,(5,4),dtype=int)
print(list5)



#数组迭代
for row in list5:
    print(row)
#平整迭代
for element in list5.flat:
    print(element)
exit()
#数组形状变换
print(list5.shape)
print(list5.ravel())
print(list5.reshape(10,2))
print(list5.T)


list5.resize(2,10)
print(list5)


list6 = np.floor(10*np.random.random((2,2)))
print(list6)
list7 = np.floor(10*np.random.random((2,2)))
print(list7)
list8 = np.vstack((list6,list7))
print(list8)
list9 = np.vstack((list6,list7))
print(list9)
